using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.ServiceModel;
using System.Runtime.Serialization;

namespace XbmcConnect
{

	[DataContract]
	internal class PlayerGetActivePlayersRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class PlayerGetActivePlayersResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public PlayerGetActivePlayersResponseResult Result { get; set; }
	}

	[DataContract]
	internal class PlayerGetActivePlayersResponseResult
	{
		[DataMember(Name="video")]
		public bool video { get; set; }
		[DataMember(Name="audio")]
		public bool audio { get; set; }
		[DataMember(Name="picture")]
		public bool picture { get; set; }
	}

	[DataContract]
	internal class AudioPlayerStateRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerStateResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public AudioPlayerStateResponseResult Result { get; set; }
	}

	[DataContract]
	internal class AudioPlayerStateResponseResult
	{
		[DataMember(Name="playing")]
		public bool playing { get; set; }
		[DataMember(Name="paused")]
		public bool paused { get; set; }
		[DataMember(Name="partymode")]
		public bool partymode { get; set; }
	}

	[DataContract]
	internal class AudioPlayerPlayPauseRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerPlayPauseResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public AudioPlayerPlayPauseResponseResult Result { get; set; }
	}

	[DataContract]
	internal class AudioPlayerPlayPauseResponseResult
	{
		[DataMember(Name="playing")]
		public bool playing { get; set; }
		[DataMember(Name="paused")]
		public bool paused { get; set; }
	}

	[DataContract]
	internal class AudioPlayerStopRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerStopResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerSkipPreviousRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerSkipPreviousResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerSkipNextRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerSkipNextResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerBigSkipBackwardRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerBigSkipBackwardResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerBigSkipForwardRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerBigSkipForwardResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerSmallSkipBackwardRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerSmallSkipBackwardResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerSmallSkipForwardRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerSmallSkipForwardResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerRewindRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerRewindResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerForwardRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerForwardResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioPlayerGetTimeRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerGetTimeResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public AudioPlayerGetTimeResponseResult Result { get; set; }
	}

	[DataContract]
	internal class AudioPlayerGetTimeResponseResult
	{
		[DataMember(Name="time")]
		public int time { get; set; }
		[DataMember(Name="total")]
		public int total { get; set; }
		[DataMember(Name="playing")]
		public bool playing { get; set; }
		[DataMember(Name="paused")]
		public bool paused { get; set; }
	}

	[DataContract]
	internal class AudioPlayerGetPercentageRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerGetPercentageResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public int Result { get; set;}
	}

	[DataContract]
	internal class AudioPlayerSeekTimeRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
		
		[DataMember(Name="params")]
		public int Parameter { get; set; }
	}
	
	[DataContract]
	internal class AudioPlayerSeekTimeResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioLibraryGetArtistsRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioLibraryGetArtistsResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class AudioLibraryScanForContentRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class AudioLibraryScanForContentResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class VideoLibraryGetMoviesRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }

		[DataMember(Name="params")]
		public VideoLibraryGetMoviesRequestParameters Parameters { get; set; }
	}

	[DataContract]
	internal class VideoLibraryGetMoviesRequestParameters
	{
		[DataMember(Name="fields")]
		public string fields { get; set; }
		
		[DataMember(Name="sortmethod")]
		public string sortmethod { get; set; }
		
		[DataMember(Name="sortorder")]
		public string sortorder { get; set; }
		
		[DataMember(Name="start")]
		public int start { get; set; }
		
		[DataMember(Name="end")]
		public int end { get; set; }
		
	}
	
	[DataContract]
	internal class VideoLibraryGetMoviesResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public VideoLibraryGetMoviesResponseResult Result { get; set; }
	}

	[DataContract]
	internal class VideoLibraryGetMoviesResponseResult
	{
		[DataMember(Name="start")]
		public int start { get; set; }
		[DataMember(Name="end")]
		public int end { get; set; }
		[DataMember(Name="total")]
		public int total { get; set; }
		[DataMember(Name="movies")]
		public Movie[] movies { get; set; }
	}

	[DataContract]
	internal class VideoLibraryGetRecentlyAddedMoviesRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }

		[DataMember(Name="params")]
		public VideoLibraryGetRecentlyAddedMoviesRequestParameters Parameters { get; set; }
	}

	[DataContract]
	internal class VideoLibraryGetRecentlyAddedMoviesRequestParameters
	{
		[DataMember(Name="fields")]
		public string fields { get; set; }
		
		[DataMember(Name="sortmethod")]
		public string sortmethod { get; set; }
		
		[DataMember(Name="sortorder")]
		public string sortorder { get; set; }
		
		[DataMember(Name="start")]
		public int start { get; set; }
		
		[DataMember(Name="end")]
		public int end { get; set; }
		
	}
	
	[DataContract]
	internal class VideoLibraryGetRecentlyAddedMoviesResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public VideoLibraryGetRecentlyAddedMoviesResponseResult Result { get; set; }
	}

	[DataContract]
	internal class VideoLibraryGetRecentlyAddedMoviesResponseResult
	{
		[DataMember(Name="start")]
		public int start { get; set; }
		[DataMember(Name="end")]
		public int end { get; set; }
		[DataMember(Name="total")]
		public int total { get; set; }
		[DataMember(Name="movies")]
		public Movie[] movies { get; set; }
	}

	[DataContract]
	internal class VideoLibraryScanForContentRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class VideoLibraryScanForContentResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemShutdownRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemShutdownResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemSuspendRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemSuspendResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemHibernateRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemHibernateResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemRebootRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemRebootResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemQuitRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemQuitResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemIntrospectRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemIntrospectResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemVersionRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemVersionResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public XbmcSystemVersionResponseResult Result { get; set; }
	}

	[DataContract]
	internal class XbmcSystemVersionResponseResult
	{
		[DataMember(Name="version")]
		public int version { get; set; }
	}

	[DataContract]
	internal class XbmcSystemGetVolumeRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemGetVolumeResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public int Result { get; set;}
	}

	[DataContract]
	internal class XbmcSystemSetVolumeRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
		
		[DataMember(Name="params")]
		public int Parameter { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemSetVolumeResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		
	}

	[DataContract]
	internal class XbmcSystemPingRequest
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }
	}
	
	[DataContract]
	internal class XbmcSystemPingResponse
	{
		[DataMember(Name="jsonrpc")]
		public string JsonRpcVersion { get; set; }
	
		[DataMember(Name="method")]
		public string Method { get; set; }
		
		[DataMember(Name="id")]
		public int Id { get; set; }		

		[DataMember(Name="result")]
		public string Result { get; set;}
	}
}